
package com.shumi.rbac.mapper;


import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.shumi.rbac.model.Khlbxq;
import com.shumi.rbac.model.KhlbxqPojo;
import com.shumi.rbac.model.Khyhxx;
import com.shumi.rbac.model.User;
import com.shumi.rbac.model.Yhxqxx;



/**
 * 用户DAO接口
 * @author ThinkGem
 * @version 2014-05-16
 */
public interface UserMapper {
	
	/**
	 * 根据登录名称查询用户
	 * @param user
	 * @return
	 */
	//@Select("select id from sys_user a where a.login_name=#{loginName} and a.del_flag='0'")
	public User getByLoginName(User user);
	
	//没有加密的登录方式
	public User getByLoginName1(User user);
	
	//public User getByLogoutName(User user);

	/**
	 * 通过OfficeId获取用户列表，仅返回用户id和name（树查询用户时用）
	 * @param user
	 * @return
	 */
	public List<User> findUserByOfficeId(User user);
	
	/**
	 * 查询全部用户数目
	 * @return
	 */
	public long findAllCount(User user);
	
	/**
	 * 更新用户密码
	 * @param user
	 * @return
	 */
	public int updatePasswordById(User user);
	
	/**
	 * 更新登录信息，如：登录IP、登录时间
	 * @param user
	 * @return
	 */
	public int updateLoginInfo(User user);

	/**
	 * 删除用户角色关联数据
	 * @param user
	 * @return
	 */
	public int deleteUserRole(User user);
	
	/**
	 * 插入用户角色关联数据
	 * @param user
	 * @return
	 */
	public int insertUserRole(User user);
	
	/**
	 * 更新用户信息
	 * @param user
	 * @return
	 */
	public int updateUserInfo(User user);
	
	
	/**
	 * 显示考核督办——未督办所有用户列表
	 */
	public List <Khyhxx> wdbFindAll(@Param ("userId")String userId);
	
	
	/**
	 * 查询考核督办——未督办用户部分信息
	 */
	public List <Khyhxx> wdbdetail(@Param ("id")String id);
	
	/**
	 * 更新考核未督——未督办用户部分信息
	 */
	public int updateWdbyhxx(@Param ("wdbyhxx")Khyhxx wdbyhxx,@Param ("userId")String userId);
	
	
	/**
	 * 显示考核督办——已督办所有用户列表
	 */
	public List <Khyhxx> ydbFindAll(@Param ("userId")String userId);
	
	
	/**
	 * 查询考核督办——已督办用户部分信息
	 */
	public List <Khyhxx> ydbdetail(@Param ("id")String id);
	
	/**
	 * 插入用户抽查-用户详情信息
	 */
	public int insertYhxqxx(@Param ("id")String id,@Param ("yhxqxx")Yhxqxx yhxqxx);
	
	/**
	 * 查询用户抽查-用户详情展示
	 */
	public List <Yhxqxx> yhdetail(@Param ("id")String id,@Param ("userId")String userId);
	
	/**
	 * 查询用户抽查-用户排名（镇排名）展示
	 */
	public List <Yhxqxx> zpm(@Param ("userId")String userId);
	
	/**
	 * 查询用户抽查-用户排名（村排名）展示
	 */
	public List <Yhxqxx> cpm(@Param ("userId")String userId);
	
	/**
	 * 查询用户抽查-用户排名（住户排名）展示
	 */
	public List <Yhxqxx> zhpm(@Param ("userId")String userId);
	
	/**
	 * 按照镇名、村名、住户名搜索用户
	 */
	public List<Yhxqxx> search(@Param("cxxx")String cxxx,@Param ("userId")String userId);
	
	/**
	 * 查询考核列表展示
	 */
	public List <KhlbxqPojo> khfindAll(@Param ("userId")String userId);
	
	/**
	 * 查询考核列表-用户详情展示
	 */
	public List <Khlbxq> khdetail(@Param ("id")String id);

}
